import { hiprint } from 'vue-plugin-hiprint'

export default function (options) {
  var addElementTypes = function (context) {
    // 移除 旧的 defaultModule "元素"类型, 以避免重复
    context.removePrintElementTypes('defaultModule')
    // 添加 defaultModule "元素"类型
    context.addPrintElementTypes('defaultModule', [
      // PrintElementTypeGroup 分组
      //如果使用 hiprint.PrintElementTypeManager.build('.hiprintEpContainer2', "defaultModule") //这里会渲染这个 "常规" 分组名称
      new hiprint.PrintElementTypeGroup('常规', [
        {
          tid: 'defaultModule.header',
          title: '单据表头',
          data: '单据表头',
          type: 'text',
          options: {
            testData: '单据表头',
            height: 17,
            fontSize: 16.5,
            fontWeight: '700',
            textAlign: 'center',
            hideTitle: true
          }
        },
        {
          tid: 'defaultModule.type',
          title: '单据类型',
          data: '单据类型',
          type: 'text',
          options: {
            testData: '单据类型',
            height: 16,
            fontSize: 15,
            fontWeight: '700',
            textAlign: 'center',
            hideTitle: true
          }
        },
        {
          tid: 'defaultModule.order',
          title: '订单编号',
          data: 'XS888888888',
          type: 'text',
          options: {
            field: 'orderId',
            testData: 'XS888888888',
            height: 16,
            fontSize: 6.75,
            fontWeight: '700',
            textAlign: 'left',
            textContentVerticalAlign: 'middle'
          }
        },
        {
          tid: 'defaultModule.text',
          title: '文本',
          data: 'XS888888888',
          type: 'text',
          options: {
            field: 'orderId',
            testData: 'XS888888888',
            height: 16,
            fontSize: 6.75,
            fontWeight: '700',
            textAlign: 'left',
            textContentVerticalAlign: 'middle'
          }
        },
        {
          tid: 'defaultModule.date',
          title: '业务日期',
          data: '2020-01-01',
          type: 'text',
          options: {
            field: 'date',
            testData: '2020-01-01',
            height: 16,
            fontSize: 6.75,
            fontWeight: '700',
            textAlign: 'left',
            textContentVerticalAlign: 'middle'
          }
        },
        {
          tid: 'defaultModule.barcode',
          title: '条形码',
          data: 'XS888888888',
          type: 'text',
          options: {
            field: 'barcode',
            testData: 'XS888888888',
            height: 32,
            fontSize: 12,
            lineHeight: 18,
            textType: 'barcode'
          }
        },
        {
          tid: 'defaultModule.qrcode',
          title: '二维码',
          data: 'XS888888888',
          type: 'text',
          options: {
            field: 'qrcode', // 字段
            testData: 'XS888888888', // 测试数据
            height: 32, // 高度
            fontSize: 12, // 文字大小
            lineHeight: 18, // 行高
            textType: 'qrcode' // 类型  条形码：barcode 二维码：qrcode 文本：text 图片：image
          }
        },
        {
          tid: 'defaultModule.platform',
          title: '平台名称',
          data: '平台名称',
          type: 'text',
          options: {
            testData: '平台名称',
            height: 17,
            fontSize: 16.5,
            fontWeight: '700',
            textAlign: 'center',
            hideTitle: true
          }
        },
        {
          tid: 'defaultModule.image',
          title: '测试图片',
          data: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
          type: 'image',
          options: {
            testData: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
            height: 17,
            fontSize: 16.5,
            fontWeight: '700',
            textAlign: 'center',
            hideTitle: true
          }
        }
      ]),
      new hiprint.PrintElementTypeGroup('辅助', [
        {
          tid: 'defaultModule.hline',
          title: '横线',
          type: 'hline'
        }
      ])
    ])
  }

  return {
    addElementTypes: addElementTypes
  }
}
